export default {
	state:{
		//存放全局事件
		events:[],
		
	},
	mutations:{
		
		//注册全局事件
		regPEvent(state,event){
			state.events.push(event)
		},
		
		//执行全局事件
		doPEvent(state,params){
			
			state.events.forEach(e=>{
				e(params)
			})
		},
		//注销事件
		removePEvent(state,event){
			let index  = state.events.findIndex(item=>{
				return item === event
			})
			
			if(index!=-1){
				state.events.splice(index,1)
			}
		}
	},
	actions:{
		//分发注册全局事件
		aduioOn({commit},event){
			commit('regEvent',event)
		},
		//分发执行全局事件
		aduioEmit({commit},params){
			commit('doEvent',params)
		},
		//分发注销全局事件
		aduioOff({commit},event){
			commit('removeEvent',event)
		},
		
	}
}